// 操作文件系统，读取和写入文件
// const fs = require("fs");
const fs = require("fs");
const path = require("path");

// 写入文件
// writeFile("./index.js", 'const a = "123"', (error) => {
//     if (error) return console.log("文件写入失败");
//     console.log("写入成功");
// });

// 同步方式写入文件
// try {
//     writeFileSync(
//         path.join(__dirname, "../", "./index.js"),
//         'const a = "123";'
//     );
// } catch (error) {
//     console.log("文件写入失败");
// }

// 追加写入，使用场景：一般记录日志
// appendFile()

// 如果第二个参数，传入字符编码，那么就返回字符串，否则返回 buffer
// readFile(__dirname + "/index.js", "utf8", (error, data) => {
//     if (error) return console.log("文件读取失败", error.message);
//     console.log("读取成功", data);
// });

// 判断是文件，还是文件夹
// const stat = fs.statSync(path.join(__dirname, "./index.js"));
// if (stat.isDirectory()) {
//     console.log("是文件夹");
// } else {
//     console.log("是文件");
//     console.log("文件大小是", stat.size);
// }

// 修改文件名字
// fs.renameSync(__dirname + "/fs.js", __dirname + "/fs_new.js");

// 文件路径解析
// const str = path.join(__dirname, "./index.js");
// console.log("str", str);
// console.log("文件名", path.basename(str));
// console.log("文件基础路径", path.dirname(str));
// console.log("文件扩展路径", path.extname(str));
// console.log("文件类型", path.extname(str).substring(1).toUpperCase());

// console.log("文件的绝对路径", __filename);
// console.log("文件所在的文件夹的绝对路径", __dirname);
